/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package replica;

/**
 *
 * @author Elena
 */
public class CostantiReplica 
{
    //public static int replicasForEachNode = 1;
    //public static double faultProbability = 0.3;
    
    public static long replicaHostIds[]={10,32,666,999,532,238764,164,351,63};
    
    public static double readQuorumPart=0.3;
    public static double writeQuorumPart=0.71;
    public static final int replicaManagerKillerTimeout=100000;
    public static final int replicaManagerReBornTimeout=200000;
    
    
    public static final int frontEndkillerTimeout=600000;
    public static final int frontEndReBornTimeout=100000;
    
    
    //when FrontEnd doesn't reach a readQuorum, it retries getListAttempts times
    public static final int getListAttempts=3;
    public static final int sleepTimeAfterReadQuorumFailure=10000;
    
    //when FrontEnd has taken a decision but not all ready replicas replied with their
    //ack, FrontEnd tries to send decision again decisionAttempts times
    public static final int decisionAttempts=3;
    
    
    //Front end will wait this timeout for replies
    public static final int timeout=10000;
    
    //If working replicas are less then quorum + surplus * otherReplicas
    //alignment is needed.
    //@see replica.transaction.FrontEnd.alignmentTrigger(...) to understand how
    //it is used
    public static final double surplus=0.5;
    
}
